home *** CD-ROM | disk | FTP | other *** search
/ Gekikoh Dennoh Club 1 / Gekikoh Dennoh Club Vol. 1 (Japan).7z / Gekikoh Dennoh Club Vol. 1 (Japan) (Track 1).bin / kowin / archive / net / kxtm248.lzh / rsbuf100.lzh / rsbuf.doc next >
Encoding:
Text File  |  1993-06-22  |  4.9 KB  |  155 lines

  1.  
  2.            X68000 RSDRV.SYS バッファ設定ドライバ
  3.  
  4.                   rsbuf.r  v1.00
  5.                             1993 6/22 小笠原博之
  6.  
  7.   RSDRV.SYS の AUX0(本体内蔵RS232C端子) に、任意サイズの受信バッファを割り付
  8. けます。64byte しかない受信バッファを 1024~65536byte まで拡張することによっ
  9. て文字の取りこぼしをなくし、tmsio.x + IOCS を使用したプログラムで、tmsio.x の
  10. 代わりに RSDRV.SYS を使用できるようになります。
  11.  
  12.   例えば Ko-Window の通信ソフト KX_Term20 は、今まで tmsio.x が必要でしたが、
  13. このドライバを使えば tmsio.x の代わりに RSDRV.SYS を用いることができるように
  14. なります。
  15.  
  16.  
  17.  
  18. ●使い方
  19.  
  20.     rsbuf [スイッチ]
  21.  
  22.   実行すると常駐します。この場合、AUX0(本体内蔵RS232Cポート) に 24Kbyteのバッ
  23. ファを割り当てます。バッファサイズは常駐時に -b スイッチで変更できます。
  24.  
  25.   スイッチ -r をつけると常駐解除します。
  26.  
  27.     -r    常駐解除
  28.     -b<n>    バッファサイズ指定 (Kbyte単位)
  29.  
  30.   CONFIG.SYS で常駐させる時は PROGRAM 行を使用して下さい。
  31.  
  32.  
  33.  
  34. ●このドライバは何をするものか
  35.  
  36.   X68000 本体の RS232C ポートで通信を行う場合、IOCS の機能だけでは、通信速度
  37. も 9600bps までに限られてしまい、またハードフロー制御の設定ができませんでし
  38. た。そのため高機能な RS232C 用のドライバがさまざま作られ、それらを組み込んで
  39. 使うプログラムも多数存在します。
  40.  
  41.   特に tmsio.x というドライバは高機能でありながら IOCS CALL でコントロールで
  42. き、かつ互換性があって扱いやすいため、通信ソフト KX_Term20 を作る場合にもお
  43. 世話になりました。
  44.  
  45.   ところが、新しい Human68k 付属の RSDRV.SYS を使用することにより、本体の
  46.  RS232C ポートでも 19200bps までの速度で通信が可能で、RTS/CTS によるハードフ
  47. ロー制御ができるようになりました。tmsio.x の方がずっと機能が上なのですが、拡
  48. 張 RS232C ボードを使用している場合等、RSDRV.SYS を使用しなければならない場合
  49. のために、それを補佐する目的で作ったのがこのドライバです。
  50.  
  51. 1) RSDRV.SYS 組み込み時には 64byte しかない受信バッファを 1024~65536 byte の
  52.    任意のサイズに変更する。
  53.  
  54. 2) IOCS _SET232C における tmsio.x の拡張ビットをマスクし、RSDRV.SYS の設定が
  55.    誤動作しないようにする。
  56.  
  57. 3) tmsio.x コントロールのための IOCS _SET232C の拡張ファンクション呼び出しを
  58.    無視するようにして、tmsio.x と互換性を保つ。
  59.  
  60. 注意: 2) と 3) は tmsio.x と互換性を保つための処置ですが、これが有効なのは
  61.    RS232C 設定やデータ送受信に IOCS CALL のみ使っているプログラムに限られま
  62.    す。tmsio.x の内部ルーチンを直接呼び出したり参照しているようなプログラム
  63.    では、このドライバを使っても tmsio.x の代わりに RSDRV.SYS が使えるように
  64.    なるわけではありません。
  65.  
  66.   なお、このようなドライバを作ってはみたものの、やはりできることなら tmsio.x
  67. の使用の方をおすすめします。
  68.  
  69.  
  70.  
  71. ● KX_Term20 で RSDRV.SYS を使う方法
  72.  
  73.   まず CONFIG.SYS で、RSDRV.SYS を組み込んでおきます。次にこの rsbuf.r を常
  74. 駐させます。バッファは 32Kbyte くらい確保して
  75.  
  76.     rsbuf.r -b32
  77.  
  78. のようにして常駐させて下さい。
  79.  
  80.   あとは今まで通り Ko-Window を起動して、KX_Term20 (k20.win) を立ち上げれば
  81.  tmsio.x の時と同じように使用することができるはずです。(KX_Term20 v2.37 以前
  82. のものでは、起動時に tmsio.x が常駐していないというメッセージが出ますが無視
  83. して下さい)
  84.  
  85.   ただし、RSDRV.SYS には無い機能があるため、以下の制限がつきます。
  86.  
  87.     ・通信速度は最大 19200bps まで  (38400bps 以上は使えない)
  88.  
  89.     ・漢字コード設定は無視される (常に SJIS で JIS 自動変換もありません)
  90.  
  91.     ・ソフトフロー(XON)とハードフローの同時設定はできません(同時に設定し
  92.       た場合、ハードフローの方が優先されます)
  93.  
  94.     ・その他 tmsio.x にある便利な機能は全部使えません。
  95.  
  96.   また、RS232C パラメータ変更のための RS.win は使用できません。
  97.  
  98.  
  99.  
  100. ● RSDRV.SYS のファンクション
  101.  
  102.   資料がなかったので、適当に調べたものです。(どっかに資料があったらまぬけ)
  103. 内容には一切責任を持ちませんし、この内容についてどっかに問い合わせるなんてこ
  104. とはしないで下さい。
  105.  
  106. ・呼び出し方法
  107.  
  108.   以下のレジスタを設定した後 trap #15 を行う。(つまり IOCS CALL の $f1 番)
  109.  
  110.   d0.l    = $f1
  111.   d2.w    = 上位8bit : RS232Cポートの指定  0~5 が AUX0~5 に相当する
  112.       下位8bit : ファンクション番号 $30 ~ $39
  113.       (d1 でないのは、IOCS 互換 CALL 時に d1 で引数を渡す場合があるため)
  114.  
  115. ・ファンクション $30~$35
  116.  
  117.   IOCS 互換 CALL
  118.  
  119.   IOCS CALL の $30~$35 (IOCS _SET232C ~) と同じ機能を持ちます。パラメータ
  120.   の与え方も全く同じです。IOCS 側は AUX0 にしか動作しないのに対し、こちらは
  121.   ポート指定ができる、というだけの違いです。
  122.  
  123. ・ファンクション $36,$37 (両者の違いは不明)
  124.  
  125.   受信バッファの設定
  126.  
  127.   a1.l  = バッファの先頭アドレス
  128.   d1.l  = バッファサイズ
  129.  
  130.   指定ポートの受信バッファを設定します。ただし、最大 64Kbyte までしか設定で
  131.   きません。(内部でバッファサイズが word で処理されているため) 設定前のバッ
  132.   ファアドレスを a1.l に、設定前のバッファサイズを d1.w に返します。
  133.  
  134. ・ファンクション $38,$39
  135.  
  136.   解析していません。
  137.  
  138.  
  139.  
  140. ●最後に
  141.  
  142.   動作は RSDRV.SYS v2.02 (RS-232C DRIVER for X68000 version 2.02) でのみ確認
  143. しています。
  144.  
  145.   このプログラムの配布や利用は自由です。転載時に特に作者に連絡する必要はあり
  146. ません。
  147.  
  148.  
  149. 小笠原博之  oga@dgw.yz.yamagata-u.ac.jp
  150.    SPS-NET: SPS0783 COR.
  151. DenDen-NET: DEN0006 COR. (米沢市 0238-23-3323)
  152.  
  153.  
  154.  
  155.